/**
 * 
 */
package design_pattern.composite.security;

import java.util.Vector;

/**
 * 聚集类
 * 
 * @author linzq
 * 
 */
public class Picture implements Graphic {

  private Vector<Graphic> v = new Vector<>();

  @Override
  public void draw() {
    for (int i = 0; i < v.size(); i++) {
      Graphic g = v.get(i);
      g.draw();
    }
  }

  /**
   * 聚集类的中的聚集属性的管理方法
   * 
   * @param g
   */
  public void add(Graphic g) {
    v.add(g);
  }

  /**
   * 聚集类的中的聚集属性的管理方法
   * 
   * @param g
   */
  public void remove(Graphic g) {
    v.remove(g);
  }

  /**
   * 聚集类的中的聚集属性的管理方法
   * 
   * @param g
   */
  public Graphic getChild(int i) {
    return v.get(i);
  }
}
